// 3. 有一个3×4的矩阵，要求输出其鞍点（行列均最大的值）以及它的行号和列号。
// int a[3][4] = {
// {123, 94, -10, 218},
// {3, 9, 10, -83},
// {45, 16, 44, -99}
// };
#include <stdio.h>

int main()
{
    int a[3][4] = {
        {123, 94, -10, 218},
        {3,   9,   10, -83},
        {45,  95,  47, -99}
    };
    int i, j, k, max, row, col; // max记录最大值，row记录行号，col记录列号
    for (i = 0; i < 3; i++)
    {
        max = a[i][0];
        col = 0; // 初始化列号
        for (j = 1; j < 4; j++) // 从第二列开始比较
        {
            if (a[i][j] > max)
            {
                max = a[i][j];
                col = j;
            }
        }
        int is_saddle = 1; // 假设当前点是鞍点
        for (k = 0; k < 3; k++)
        {
            if (a[k][col] > max) // 检查该列是否有比当前行最大值小的元素
            {
                is_saddle = 0;
                break;
            }
        }
        if (is_saddle)
        {
            printf("鞍点为%d,行号为%d,列号为%d\n", max, i+1, col+1);
        }
    }
    return 0;
}
